package com.zmn.plat.services.impl.message;

import java.util.Objects;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.zmn.common.utils.number.NumberUtil;
import com.zmn.plat.model.entity.message.MsgSmsTemplate;
import com.zmn.plat.persistence.interfaces.message.MsgSmsTemplateDAO;
import com.zmn.plat.services.interfaces.message.MsgSmsTemplateService;

import lombok.extern.slf4j.Slf4j;

/**
 * 描述: 基础接口实现类
 *
 * @author tanghongjun
 * @since 2020-06-19 15:34:59
 **/
@Slf4j
@Service
public class MsgSmsTemplateServiceImpl implements MsgSmsTemplateService {

    private static final String TAG = "基础服务接口";

    @Resource
    private MsgSmsTemplateDAO msgSmsTemplateDao;

    /**
     * 描述: 根据id查询数据
     *
     * @param msgSmsTemplateId
     *            id
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    @Override
    public MsgSmsTemplate findById(Integer msgSmsTemplateId) {

        if (Objects.isNull(msgSmsTemplateId)) {
            log.error("[{}],根据id查询数据msgSmsTemplateId为null", TAG);
            return null;
        }
        return msgSmsTemplateDao.findById(msgSmsTemplateId);
    }

    @Override
    public MsgSmsTemplate findByTemplateId(Integer templateId) {

        if (NumberUtil.isNullOrZero(templateId)) {
            return null;
        }
        return msgSmsTemplateDao.findByTemplateId(templateId);
    }

    /**
     * 描述: 根据id修改数据 id为必传
     *
     * @param msgSmsTemplate
     *            待修改数据
     * @return java.lang.Integer
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    @Override
    public Integer updateByKey(MsgSmsTemplate msgSmsTemplate) {

        if (Objects.isNull(msgSmsTemplate.getMsgSmsTemplateId())) {
            log.error("[{}],根据id修改数据,msgSmsTemplate为null", TAG);
            return null;
        }
        return msgSmsTemplateDao.updateByKey(msgSmsTemplate);
    }

    /**
     * 描述: 新增数据
     *
     * @param msgSmsTemplate
     *            待新增数据
     * @return java.lang.Integer 主键key
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    @Override
    public Integer insert(MsgSmsTemplate msgSmsTemplate) {

        if (Objects.isNull(msgSmsTemplate)) {
            log.error("[{}],新增数据,msgSmsTemplate为null", TAG);
            return null;
        }
        if (Objects.nonNull(msgSmsTemplate.getTemplateId())) {
            msgSmsTemplateDao.deleteByTemplateId(msgSmsTemplate.getTemplateId());
            return msgSmsTemplateDao.insert(msgSmsTemplate);
        }
        return null;
    }

}